home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / FIFA Manager 10 / FIFAManager10_Demo.exe / fmdata / Configuration File - Scene Recognizer.cfg < prev    next >
Encoding:
Text File  |  2009-10-07  |  62.1 KB  |  1,623 lines

  1. ∩╗┐// Highlightmode text category recognizer configuration 
  2. //
  3. // Author : Christoph Brzozowski
  4. // Created: 09.03.2009
  5. //
  6. //-----------------------------------------------------------------------------
  7. //
  8. // GRAMMAR FOR THE SCENE DESCRIPTION LANGUAGE
  9. //
  10. // [ ] means optional
  11. //
  12. //
  13. // EVENT_SEQUENCE   := EVENT
  14. //                  |  EVENT_SEQUENCE ';' EVENT
  15. //
  16. // EVENT            := EVENT_DESCRIPTOR    [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION]
  17. //                  |   '(' EVENT_LIST ')' [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION]
  18. //                  |  '~(' EVENT_LIST ')' [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION]
  19. //
  20. // SEARCH_DEPTH     := '{t' INTEGER '}'                         -> For time based search in seconds
  21. //                  |  '{e' INTEGER '}'                         -> For event based search in number of events
  22. //
  23. // CONDITION        := '[' CONDITION_DECLARATION ']'
  24. //
  25. // PLAYER_TAGS      := '$' PLAYER_TAG PLAYER_TAG
  26. //
  27. // PLAYER_TAG       := 'A' | 'B' | 'C' | 'D' | 'a' | 'b' | 'c' | 'd' | '*'
  28. //
  29. // EVENT_LIST       := EVENT_DESCRIPTOR
  30. //                  |  EVENT_LIST ',' EVENT_DESCRIPTOR
  31. //
  32. // EVENT_DESCRIPTOR := EVENT_NAME [FLAGS]
  33. //
  34. // EVENT_FLAGS      := '<' [HALF_FLAGS]     FLAG_LIST '>'
  35. //                  |  '<' [HALF_FLAGS] '~' FLAG_LIST '>'
  36. //
  37. // HALF_FLAGS       := '%' FLAG_LIST '%'
  38. //
  39. // FLAG_LIST        := FLAG_NAME                                                 
  40. //                  |  FLAG_LIST '|' FLAG_NAME
  41. //
  42. //-----------------------------------------------------------------------------
  43. //
  44. // EVENTS:
  45. //
  46. // EVENT_NULL
  47. // EVENT_SHOT
  48. // EVENT_PASS
  49. // EVENT_CLEARANCE
  50. // EVENT_CROSS
  51. // EVENT_GOAL_SCORED
  52. // EVENT_BALLOUT_CORNER
  53. // EVENT_BALLOUT_THROWIN
  54. // EVENT_BALLOUT_GOALKICK
  55. // EVENT_CORNER_TAKEN
  56. // EVENT_THROWIN_TAKEN
  57. // EVENT_FREEKICK_SHOT
  58. // EVENT_FREEKICK_PASS
  59. // EVENT_TACKLE
  60. // EVENT_FOUL
  61. // EVENT_OFFSIDE
  62. // EVENT_PENALTYKICK
  63. // EVENT_CHANGE_POSSESSION
  64. // EVENT_SUBSTITUTION
  65. // EVENT_DRIBBLE
  66. // EVENT_GK_SAVE
  67. // EVENT_GK_PUNCH
  68. // EVENT_GK_CATCH
  69. // EVENT_HEADER_WON
  70. // EVENT_FUMBLE
  71. // EVENT_START_MATCH
  72. // EVENT_START_HALF
  73. // EVENT_END_HALF
  74. // EVENT_END_MATCH
  75. //
  76. //-----------------------------------------------------------------------------
  77. //
  78. // EVENT FLAGS:
  79. //
  80. // FLAG_NULL
  81. // FLAG_SUCCESSFUL
  82. // FLAG_HEADED
  83. // FLAG_GOAL_SCORED
  84. // FLAG_GOAL_OWN_GOAL
  85. // FLAG_HIT_POST_OR_CROSSBAR
  86. // FLAG_BLOCKED
  87. // FLAG_SHOT_MISSED
  88. // FLAG_GK_SAVE
  89. // FLAG_GK_PUNCH
  90. // FLAG_GK_CATCH
  91. // FLAG_FIRST_TOUCH
  92. // FLAG_KEY_PASS
  93. // FLAG_ASSIST
  94. // FLAG_POSSESSION_CHANGE_TEAM
  95. // FLAG_INTERCEPTION
  96. // FLAG_LENGTH_SHORT
  97. // FLAG_LENGTH_MEDIUM
  98. // FLAG_LENGTH_LONG
  99. // FLAG_DIRECTION_FORWARD
  100. // FLAG_DIRECTION_SIDEWAYS
  101. // FLAG_DIRECTION_BACKWARDS
  102. // FLAG_END_IN_DEFENSIVE_THIRD
  103. // FLAG_END_IN_MIDFIELD_THIRD
  104. // FLAG_END_IN_ATACK_THIRD
  105. // FLAG_END_INSIDE_OPP_BOX
  106. // FLAG_YELLOW_CARD
  107. // FLAG_SECOND_YELLOW
  108. // FLAG_RED_CARD
  109. // FLAG_BALL_OUT_THROWIN
  110. // FLAG_BALL_OUT_CORNER
  111. // FLAG_BALL_OUT_GOALKICK
  112. // FLAG_WAITING_2ND_PASS_DATA
  113. //
  114. //-----------------------------------------------------------------------------
  115. //
  116. // EVENT EXTRA FLAGS:
  117. //
  118. // EFLAG_NULL
  119. // EFLAG_ATTACKING_MOVE
  120. // EFLAG_INCISIVE_MOVE
  121. // EFLAG_START_IN_OWN_BOX
  122. // EFLAG_START_IN_OPPOSITE_BOX
  123. // EFLAG_END_IN_OWN_BOX
  124. // EFLAG_END_IN_SENDER_OWN_BOX
  125. // EFLAG_SUBST_INJURED
  126. // EFLAG_GK_SAVE_HARD
  127. // EFLAG_PK_GOAL
  128. //
  129. //-----------------------------------------------------------------------------
  130. //
  131. // HALF FLAGS:
  132. //
  133. // 1ST                      First  half
  134. // 2ND                      Second half
  135. // 3RD                      Third  half
  136. // 4TH                      Fourth half
  137. // PSH                      Penalty shootout
  138. // ALL                      All halfs
  139. //
  140. //-----------------------------------------------------------------------------
  141. //
  142. // BALL TRAJECTORY FLAGS:
  143. //
  144. // BOUNCE                   Ball bounced
  145. // IN_TARGET                Ball hit the target
  146. // OFF_TARGET               Ball missed the target
  147. // CORNER_BL                Ball hit the bottom left corner
  148. // CORNER_BR                Ball hit the bottom right corner
  149. // CORNER_TL                Ball hit the top left corner
  150. // CORNER_TR                Ball hit the top right corner
  151. // HIT_POST                 Ball hit a post
  152. // HIT_BAR                  Ball hit the bar
  153. // OVER_THE_BAR             Ball went over the bar
  154. // LEFT_SIDE                Ball trajectory's end point layed on the left side of the field relative to the opponents goal
  155. // RIGHT_SIDE               Ball trajectory's end point layed on the right side of the field relative to the opponents goal
  156. //
  157. //-----------------------------------------------------------------------------
  158. //
  159. // PLAYER POSITIONAL FLAGS:
  160. // 
  161. // OPP_SIDE                 Player on opponent side
  162. // ON_LEFT_SIDE             Player on left half of the field
  163. // ON_RIGHT_SIDE            Player on right half of the field
  164. // ON_CENTER                PLayer on center of the field
  165. // IN_GOAL                  Player in goal / net
  166. // IN_GOALIE_BOX            Player in goalie box
  167. // IN_PENALTY_BOX           Player in penalty box
  168. // IN_CIRCLE                Player in circle
  169. // AT_LEFT_CORNER           Player at left playfield corner
  170. // AT_RIGHT_CORNER          Player at right playfield corner
  171. // AT_PEN_SPOT              Player at penalty spot
  172. // ONE_ON_ONE_WITH_GK       No defenders between player and opp goalkeeper
  173. // ON_GOAL_LINE             Player on goal line
  174. // IN_FRONT_OF_PENBOX       Player is in front of penalty box ground line
  175. // BEHIND_PENBOX            Player is behind the penalty box ground line
  176. //
  177. //-----------------------------------------------------------------------------
  178. //
  179. // PLAYER FORMATION POSITIONS:
  180. //
  181. // NONE
  182. // GK                       Goal keeper
  183. // RB
  184. // LB
  185. // CD
  186. // SW
  187. // RWB
  188. // LWB
  189. // ANC
  190. // DM
  191. // RM
  192. // LM
  193. // CM
  194. // RW
  195. // LW
  196. // AM
  197. // CF
  198. // ST
  199. //
  200. //-----------------------------------------------------------------------------
  201. // PLAYER SIMPLIFIED FORMATION POSITIONS:
  202. //
  203. // GOL                      Goal keeper
  204. // DEF                      Defender
  205. // MID                      Midfielder
  206. // ATK                      Striker / Attacker 
  207. //
  208. //-----------------------------------------------------------------------------
  209. //
  210. // ENTITIES:
  211. //
  212. // Ball                     Ball                                    ( Ball entity   ) 
  213. // Player1                  Event Player 1                          ( Player entity ) 
  214. // Player2                  Event Player 2                          ( Player entity )
  215. // Goalie                   Goalie of the team of Player 1          ( Player entity )
  216. // GoalieOpp                Goalie of the opponent team of Player 1 ( Player entity )
  217. //
  218. // Closest players: * might be Player1, Player2, Goalie or GoalieOpp
  219. //
  220. // _1stClosestOwnPlayerTo*  1st closest own player to *             ( Player entity )
  221. // _2ndClosestOwnPlayerTo*  2nd closest own player to *             ( Player entity )
  222. // _3rdClosestOwnPlayerTo*  3rd closest own player to *             ( Player entity )
  223. // _1stClosestOppPlayerTo*  1st closest opponent player to *        ( Player entity )
  224. // _2ndClosestOppPlayerTo*  2nd closest opponent player to *        ( Player entity )
  225. // _3rdClosestOppPlayerTo*  3rd closest opponent player to *        ( Player entity )
  226. //
  227. //-----------------------------------------------------------------------------
  228. // !!! ALL DISTANCES ARE GIVEN IN METERS !!!
  229. //-----------------------------------------------------------------------------
  230. // 
  231. // BALL ENTITY ATTRIBUTES:
  232. //
  233. // Flags                    Trajectory flags
  234. // AvgSpeed                 Average speed
  235. // Height                   Height of the apex of the ball's trajectory
  236. // Angle                    Angle of the line from trajectory start point to the apex point relative to the ground 
  237. // Length                   Length of the trajectory projected onto the ground
  238. // DistanceToTarget         Distance to the target / net    
  239. //
  240. //-----------------------------------------------------------------------------
  241. //
  242. // PLAYER ENTITY ATTRIBUTES:
  243. //
  244. // Flags                    Player positional flags
  245. // Position                 Player's formation position
  246. // PositionSimple           Player's formation position ( simplified ) 
  247. // Distance                 Euclidean interplayer distance ( valid only, when querying closest players )
  248. // DistanceToOppGoal        Euclidean distance to the player's opponent's goal
  249. // ProjDistanceToOppGoal    Distance to the player's opponent's goal projected onto the longer side of the field
  250. // DistanceToOppPenSpot     Euclidean distance to the player's opponent's penalty spot
  251. // ProjDistanceToOppPenSpot Distance to the player's opponent's penalty spot projected onto the longer side of the field
  252. // DistanceToCenter         Euclidean distance of the player to the center of the field
  253. // ProjDistanceToCenter     Distance of the player to the center of the field projected onto the longer side of the field
  254. //
  255. //-----------------------------------------------------------------------------
  256. // 
  257. // CONDITION PREDICATES:
  258. //
  259. // SET                      Checks, whether the specified flags are set
  260. // NOT_SET                  Checks, whether the specified flags are not set
  261. // INVSET                   Checks, whether any flags are set but the specified ones
  262. // EQU                      Checks, whether the attribute value is equal to the condition parameter
  263. // NEQ                      Checks, whether the attribute value differs from the condition parameter
  264. // LE                       Checks, whether the attribute value is smaller than the condition parameter
  265. // GE                       Checks, whether the attribute value is larger than the condition parameter
  266. // LEQ                      Checks, whether the attribute value is smaller or equal to the condition parameter
  267. // GEQ                      Checks, whether the attribute value is greater or equal to the condition parameter
  268. // INS                      Checks, whether the attribute value lies inside a given closed range
  269. // BET                      Checks, whether the attribute value lies inside a given closed range
  270. // OUT                      Checks, whether the attribute value lies outside a given closed range
  271. // INS_LO                   Checks, whether the attribute value lies inside a given range, which is closed to the lower bound but open to the upper bound
  272. // IS                       Checks, whether the attribute is of some kind    
  273. // 
  274. //-----------------------------------------------------------------------------
  275. //
  276. // ACTION DEFINITION: 
  277. //
  278. // [ ] means optional
  279. //
  280. // BEGIN( __ACTION_NAME__ )             // Where the action name must start with the "AC_" prefix
  281. //      ID                  = #INTEGER# // Action id ( must be the same as defined in the "Rules - ActionSequence.txt" text block editor configuration file )
  282. //      PRIORITY            = #INTEGER# // Action priority ( the higher the value, the higher the priority )
  283. //      PATTERN_1           = #STRING#              
  284. //      ...                             // Pattern definitions using the scene description language
  285. //      PATTERN_N           = #STRING#
  286. //      FLAG_MODIFIERS      = #STRING#  // Flag modifiers for previous event ( see below )
  287. //      PLAYER_1            = PLAYER_TAG
  288. //      PLAYER_2            = PLAYER_TAG
  289. //      PLAYER_A            = TEXT_MODE_PLAYER_IDENTIFIER_LIST
  290. //      ...
  291. //      PLAYER_Z            = TEXT_MODE_PLAYER_IDENTIFIER_LIST            
  292. //      CONDITION_MODIFIERS = #STRING#  // Condition modifier ( condition declaration, which is merged with the condition of the previous event by ANDing them )
  293. // END
  294. //
  295. // FLAG_MODIFIERS       := FLAG_MODIFIER
  296. //                      |  FLAG_MODIFIERS ';' FLAG_MODIFIER
  297. //
  298. // FLAG_MODIFIER        := EVENT_NAME ':' '+' FLAGS [ '-' FLAGS ]
  299. // 
  300. // FLAGS                := FLAG_NAME 
  301. //                      |  FLAGS '|' FLAG_NAME
  302. //
  303. // CONDITION_MODIFIERS  := CONDITION_MODIFIER
  304. //                      |  CONDITION_MODIFIERS ';' FLAG_MODIFIER
  305. //
  306. // TEXT_MODE_PLAYER_IDENTIFIER_LIST := TEXT_MODE_PLAYER_IDENTIFIER
  307. //                                  |  TEXT_MODE_PLAYER_IDENTIFIER_LIST "," TEXT_MODE_PLAYER_IDENTIFIER  
  308. //
  309. // FLAG_MODIFIER        := EVENT_NAME ':' CONDITION
  310. //
  311. //-----------------------------------------------------------------------------
  312. //
  313. // TEXT MODE PLAYER IDENTIFIERS:
  314. // 
  315. // NONE
  316. // AGILE_DEFENDER
  317. // ATTACKER
  318. // ATTACKER_2
  319. // ATTACKER_SPEED
  320. // ATTACKER_TECHNIQUE
  321. // ATTACKING_DEFENDER
  322. // ATTACKING_MIDFIELDER
  323. // BALL_WINNER
  324. // BEST
  325. // BOX
  326. // BUILD_UP_ATTACKER
  327. // BUILD_UP_MIDFIELDER
  328. // CENTRAL_DEFENDER
  329. // COMPLAINING
  330. // CORNER_LEFT
  331. // CORNER_RIGHT
  332. // CROSSES_LEFT
  333. // CROSSES_RIGHT
  334. // DEFENDING_MIDFIELDER
  335. // DIRECT_FREE_KICK
  336. // DISTANCE
  337. // DIVING
  338. // DRIBBLING
  339. // FIRST_GOAL
  340. // FOULED
  341. // FOULED_OPPONENT
  342. // FREE_KICK_LEFT
  343. // FREE_KICK_RIGHT
  344. // GOALKEEPER
  345. // GOALKEEPER_ATTACKING
  346. // HEADER
  347. // HEADER_DEFENDING
  348. // HEADER_SET_PIECE
  349. // INJURED
  350. // LAST_GOAL
  351. // LEADER
  352. // LEFT_ATTACKER
  353. // LEFT_BUILD_UP_ATTACKER
  354. // LEFT_DEFENDER
  355. // LEFT_MIDFIELDER
  356. // LONG_INJURED_BENCH
  357. // LONG_INJURED_FIRST_ELEVEN
  358. // NEW_1
  359. // NEW_2
  360. // OLD_CLUB
  361. // PENALTY_TAKER
  362. // PLAYS_FOR_TIME
  363. // RED_CARD_1
  364. // REPLACED_1
  365. // REPLACED_2
  366. // RETURNS_1
  367. // RETURNS_2
  368. // RIGHT_ATTACKER
  369. // RIGHT_BUILD_UP_ATTACKER
  370. // RIGHT_DEFENDER
  371. // RIGHT_MIDFIELDER
  372. // SUBBED_IN
  373. // SUBBED_OUT
  374. // SUPERSTAR
  375. // TECHNICAL_PROBLEMS
  376. // THROUGH_PASS
  377. // WARNED
  378. // WEAKEST
  379. // WING_ATTACKER
  380. // WING_DEFENDER
  381. // WING_MIDFIELDER
  382. // WITH_FOUL
  383. // WITH_FOUL_OPPONENT
  384. // YELLOW
  385. // YELLOW_RED_CARD_1
  386. //
  387. //-----------------------------------------------------------------------------
  388.  
  389. //-----------------------------------------------------------------------------
  390. // General configuration
  391. //-----------------------------------------------------------------------------
  392.  
  393. BEGIN(CONFIG)
  394.     // List of enabled text blocks
  395.     //ENABLED_TEXT_BLOCKS = 3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3535,3546,3547,3548,3549,3550,3551,392-396,400-405,1982,1983,3471,3541,1202,3549,1256,19,22,1965,2116,341,3442,3443,3532,3533,1348,1349,1552,1437,1438,1348,1349,601,681,682
  396.     ENABLED_TEXT_BLOCKS = 3445, 3446, 3447, 3448, 3449, 3450, 3454, 3455, 3456, 601, 681, 682, 1348, 1349, 3546, 3547, 3548, 1202, 3551, 3550, 19, 22, 1965, 2116, 3441, 3442, 3443, 3532, 3533, 1552, 1437, 1438
  397. END
  398.  
  399. BEGIN(SCENES)
  400.  
  401.     // Standard goal
  402.     BEGIN(TB_#3445)
  403.       PRIORITY  = 16
  404.       PATTERN_1 = "EVENT_GOAL_SCORED<%~PSH%~FLAG_GOAL_OWN_GOAL>$AX:>GDIST=Player1"
  405.       PLAYER_1 = A
  406.       PLAYER_2 = X
  407.       PLAYER_A = ATTACKER
  408.       PLAYER_X = GOALKEEPER
  409.     END
  410.  
  411.     // Penalty shootout ( goal )
  412.     BEGIN(TB_#601)
  413.         PRIORITY = 24
  414.         PATTERN_1 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_PENALTYKICK<%PSH%FLAG_GOAL_SCORED>$A*:>GDIST=Player1"      
  415.         PATTERN_2 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  416.         PATTERN_3 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_CATCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  417.         PATTERN_4 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_PUNCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  418.         PLAYER_1 = A
  419.         PLAYER_2 = X
  420.         PLAYER_A = PENALTY_TAKER
  421.         PLAYER_X = GOALKEEPER
  422.     END    
  423.     // Penalty shootout ( catched or saved by gk )
  424.     BEGIN(TB_#681)
  425.         PRIORITY = 64
  426.         PATTERN_1 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_GK_CATCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*:>GDIST=Player1"
  427.         PATTERN_2 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_GK_SAVE<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*:>GDIST=Player1"
  428.         PLAYER_1 = A
  429.         PLAYER_2 = X
  430.         PLAYER_A = PENALTY_TAKER
  431.         PLAYER_X = GOALKEEPER    
  432.     END
  433.     // Penalty shootout ( post or bar )
  434.     BEGIN(TB_#682)
  435.         PRIORITY = 32
  436.         PATTERN_1 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*{e2}[ ( ( Ball, Flags, SET, OFF_TARGET ) | ( Ball, Flags, SET, HIT_POST ) | ( Ball, Flags, SET, HIT_BAR ) ) ]:>GDIST=Player1"
  437.         PATTERN_2 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_PENALTYKICK<%PSH%FLAG_HIT_POST_OR_CROSSBAR>$A*{e2}:>GDIST=Player1"
  438.         PLAYER_1 = A
  439.         PLAYER_2 = X
  440.         PLAYER_A = PENALTY_TAKER
  441.         PLAYER_X = GOALKEEPER    
  442.     END
  443.     
  444.     // Penalty ( goal )
  445.     BEGIN(TB_#601)
  446.         PRIORITY = 8000
  447.         PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_PENALTYKICK<FLAG_GOAL_SCORED>$A*:>GDIST=Player1"      
  448.         PATTERN_2 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  449.         PATTERN_3 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_CATCH$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  450.         PATTERN_4 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_PUNCH$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  451.         PATTERN_5 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE$X*;EVENT_CHANGE_POSSESSION$AX;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1"
  452.         PLAYER_1 = A
  453.         PLAYER_2 = X
  454.         PLAYER_A = PENALTY_TAKER
  455.         PLAYER_X = GOALKEEPER
  456.     END    
  457.     // Penalty ( catched or saved by gk )
  458.     BEGIN(TB_#681)
  459.         PRIORITY = 60000
  460.         PATTERN_1 = "EVENT_BALLOUT_GOALKICK;EVENT_GK_CATCH$X*;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*:>GDIST=Player1"
  461.         PATTERN_2 = "EVENT_BALLOUT_GOALKICK;EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*:>GDIST=Player1"
  462.         PLAYER_1 = A
  463.         PLAYER_2 = X
  464.         PLAYER_A = PENALTY_TAKER
  465.         PLAYER_X = GOALKEEPER    
  466.     END
  467.     // Penalty ( post or bar )
  468.     BEGIN(TB_#682)
  469.         PRIORITY = 40000
  470.         PATTERN_1 = "EVENT_BALLOUT_GOALKICK;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*{e2}[ ( ( Ball, Flags, SET, OFF_TARGET ) | ( Ball, Flags, SET, HIT_POST ) | ( Ball, Flags, SET, HIT_BAR ) ) ]:>GDIST=Player1"
  471.         PATTERN_2 = "EVENT_BALLOUT_GOALKICK;EVENT_PENALTYKICK<FLAG_HIT_POST_OR_CROSSBAR>$A*{e2}:>GDIST=Player1"
  472.         PLAYER_1 = A
  473.         PLAYER_2 = X
  474.         PLAYER_A = PENALTY_TAKER
  475.         PLAYER_X = GOALKEEPER    
  476.     END 
  477.      
  478.     // Free kick ( centre )
  479.     BEGIN(TB_#1552)
  480.         PRIORITY = 64
  481.         PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_CENTER ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1"
  482.         PLAYER_1 = A
  483.         PLAYER_A = DIRECT_FREE_KICK
  484.     END
  485.     // Free kick ( left )
  486.     BEGIN(TB_#1437)
  487.         PRIORITY = 64
  488.         PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_LEFT_SIDE ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1"
  489.         PLAYER_1 = A
  490.         PLAYER_A = FREE_KICK_LEFT
  491.     END    
  492.     // Free kick ( right )
  493.     BEGIN(TB_#1438)
  494.         PRIORITY = 64
  495.         PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_RIGHT_SIDE ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1"
  496.         PLAYER_1 = A
  497.         PLAYER_A = FREE_KICK_RIGHT
  498.     END    
  499. END
  500.  
  501. BEGIN(ACTIONS)
  502.  
  503. //-----------------------------------------------------------------------------
  504. // Preactions
  505. //-----------------------------------------------------------------------------
  506.  
  507.     // Throw ins
  508.     BEGIN( AC_THROW_IN_LEFT )
  509.         ID        = 124
  510.         PRIORITY  = 2
  511.         PATTERN_1 = "EVENT_THROWIN_TAKEN$B*[ ( Player1, Flags, SET, ON_LEFT_SIDE ) ]"
  512.         PLAYER_1  = B
  513.         PLAYER_B  = ATTACKER, ATTACKER2
  514.     END
  515.     BEGIN( AC_THROW_IN_RIGHT )
  516.         ID        = 125
  517.         PRIORITY  = 2
  518.         PATTERN_1 = "EVENT_THROWIN_TAKEN$B*[ ( Player1, Flags, SET, ON_RIGHT_SIDE ) ]"
  519.         PLAYER_1  = B
  520.         PLAYER_B  = ATTACKER, ATTACKER2
  521.     END
  522.     
  523.     // Crosses
  524.     BEGIN( AC_HIGH_CROSS )
  525.         ID        = 1
  526.         PRIORITY  = 2
  527.         PATTERN_1 = "EVENT_CROSS$B*[ ( Ball, Height, GE, 1.60 ) ]"
  528.         PLAYER_1  = B
  529.         PLAYER_B  = CROSSES_LEFT, CROSSES_RIGHT
  530.     END
  531.     BEGIN( AC_HIGH_CROSS_AGAINST_DEFENDER )
  532.         ID        = 2
  533.         PRIORITY  = 3
  534.         PATTERN_1 = "EVENT_CROSS$B*[ ( ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1"
  535.         PLAYER_1  = B
  536.         PLAYER_2  = Y              
  537.         PLAYER_B  = CROSSES_LEFT, CROSSES_RIGHT
  538.         PLAYER_Y  = RIGHT_DEFENDER, LEFT_DEFENDER
  539.     END
  540.     BEGIN( AC_LOW_CROSS )
  541.         ID        = 3
  542.         PRIORITY  = 2
  543.         PATTERN_1 = "EVENT_CROSS$B*[ ( Ball, Height, LE, 0.80 ) ]"
  544.         PLAYER_1  = B
  545.         PLAYER_B  = CROSSES_LEFT, CROSSES_RIGHT        
  546.     END
  547.     BEGIN( AC_LOW_CROSS_AGAINST_DEFENDER )
  548.         ID        = 4
  549.         PRIORITY  = 3
  550.         PATTERN_1 = "EVENT_CROSS$B*[ ( ( Ball, Height, LE, 0.8 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1"
  551.         PLAYER_1  = B
  552.         PLAYER_2  = Y
  553.         PLAYER_B  = CROSSES_LEFT, CROSSES_RIGHT
  554.         PLAYER_Y  = RIGHT_DEFENDER, LEFT_DEFENDER
  555.     END
  556.     BEGIN( AC_CROSS_EARLY )
  557.         ID          = 137
  558.         PRIORITY    = 4
  559.         PATTERN_1   = "EVENT_CROSS$B*[ ( Player1, Flags, SET, IN_FRONT_OF_PENBOX ) ]"
  560.         PLAYER_1    = B
  561.         PLAYER_B    = CROSSES_LEFT, CROSSES_RIGHT        
  562.     END
  563.     BEGIN( AC_CROSS_ON_GOAL_LINE )
  564.         ID          = 138
  565.         PRIORITY    = 4
  566.         PATTERN_1   = "EVENT_CROSS$B*[ ( Player1, Flags, SET, BEHIND_PENBOX ) ]"
  567.         PLAYER_1    = B
  568.         PLAYER_B    = CROSSES_LEFT, CROSSES_RIGHT        
  569.     END
  570.    
  571.     // Corners
  572.     BEGIN( AC_CORNER_KICK_LEFT )
  573.         ID        = 5
  574.         PRIORITY  = 2
  575.         PATTERN_1 = "EVENT_CORNER_TAKEN$B*[ ( Player1, Flags, SET, AT_LEFT_CORNER ) ]"
  576.         PLAYER_1  = B
  577.         PLAYER_B  = CORNER_LEFT
  578.     END
  579.     BEGIN( AC_CORNER_KICK_RIGHT )
  580.         ID        = 6
  581.         PRIORITY  = 2
  582.         PATTERN_1 = "EVENT_CORNER_TAKEN$B*[ ( Player1, Flags, SET, AT_RIGHT_CORNER ) ]"
  583.         PLAYER_1  = B
  584.         PLAYER_B  = CORNER_RIGHT
  585.     END
  586.     
  587.     // Combos
  588.     BEGIN( AC_HEADER_AFTER_HIGH_CROSS )
  589.         ID        = 10
  590.         PRIORITY  = 4
  591.         PATTERN_1 = "EVENT_PASS<FLAG_HEADED>$C*;EVENT_CROSS$BC{e8}[ ( Ball, Height, GE, 1.60 ) ]"
  592.         PLAYER_1  = B
  593.         PLAYER_2  = C
  594.         PLAYER_C  = HEADER
  595.         PLAYER_B  = CROSSES_LEFT, CROSSES_RIGHT
  596.     END    
  597.     BEGIN( AC_SHOT_AND_SAVE )
  598.         ID        = 11
  599.         PRIORITY  = 4
  600.         PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_SHOT<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1"
  601.         PLAYER_1  = B
  602.         PLAYER_2  = X    
  603.         PLAYER_X  = GOALKEEPER
  604.         PLAYER_B  = ATTACKER
  605.     END
  606.     BEGIN( AC_HEADER_AND_SAVE )
  607.         ID        = 12
  608.         PRIORITY  = 5
  609.         PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_SHOT<FLAG_GK_SAVE|FLAG_HEADED>$B*{t10}:>GDIST=Player1"
  610.         PLAYER_1  = B
  611.         PLAYER_2  = X       
  612.         PLAYER_X  = GOALKEEPER
  613.         PLAYER_B  = HEADER                         
  614.     END
  615.     BEGIN( AC_DIRECT_FREE_KICK_AND_SAVE )
  616.         ID        = 13
  617.         PRIORITY  = 2        
  618.         PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_FREEKICK_SHOT<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1"
  619.         PLAYER_1  = B
  620.         PLAYER_2  = X
  621.         PLAYER_X  = GOALKEEPER
  622.         PLAYER_B  = DIRECT_FREE_KICK
  623.     END
  624.     BEGIN( AC_PENALTY_AND_SAVE )
  625.         ID        = 14
  626.         PRIORITY  = 2        
  627.         PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1"
  628.         PLAYER_1  = B
  629.         PLAYER_2  = X               
  630.         PLAYER_X  = GOALKEEPER
  631.         PLAYER_B  = PENALTY_TAKER                
  632.     END
  633.     BEGIN( AC_DRIBBLING_AND_PASS )
  634.         ID        = 15
  635.         PRIORITY  = 2    
  636.         PATTERN_1 = "EVENT_PASS$BA;EVENT_DRIBBLE$B*{e4}"
  637.         PLAYER_1  = B
  638.         PLAYER_2  = C
  639.         PLAYER_A  = ATTACKING_MIDFIELDER
  640.         PLAYER_B  = DEFENDING_MIDFIELDER                   
  641.     END
  642.     BEGIN( AC_DRIBBLING_AGAINST_DEFENDER )
  643.         ID        = 16    
  644.         PRIORITY  = 3
  645.         PATTERN_1 = "EVENT_DRIBBLE$B*[ ( ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=1stClosestOppPlayerToPlayer1"
  646.         PLAYER_1  = B
  647.         PLAYER_2  = Y
  648.         PLAYER_B  = DRIBBLING
  649.         PLAYER_Y  = CENTRAL_DEFENDER
  650.     END
  651.     BEGIN( AC_PASS )
  652.         ID        = 17
  653.         PRIORITY  = 1    
  654.         PATTERN_1 = "EVENT_PASS<FLAG_SUCCESSFUL>$B*"
  655.         PLAYER_1  = A
  656.         PLAYER_2  = B        
  657.         PLAYER_B  = ATTACKING_MIDFIELDER
  658.     END
  659.     BEGIN( AC_FORWARD_PASS )
  660.         ID        = 18
  661.         PRIORITY  = 2
  662.         PATTERN_1 = "EVENT_PASS$B*<FLAG_DIRECTION_FORWARD>"
  663.         PLAYER_1  = B
  664.         PLAYER_B  = ATTACKING_MIDFIELDER
  665.     END
  666.     BEGIN( AC_FORWARD_PASS_AGAINST_DEFENDER )
  667.         ID        = 19    
  668.         PRIORITY  = 3
  669.         PATTERN_1 = "EVENT_PASS$B*<FLAG_DIRECTION_FORWARD>[ ( ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1"
  670.         PLAYER_1  = B
  671.         PLAYER_2  = Y
  672.         PLAYER_B  = ATTACKING_MIDFIELDER
  673.         PLAYER_Z  = DEFENDING_MIDFIELDER
  674.     END
  675.     BEGIN( AC_ONE_TWO_ONE )
  676.         ID        = 20
  677.         PRIORITY  = 4 
  678.         PATTERN_1 = "EVENT_PASS$BA;EVENT_PASS$AB{e4}"
  679.         PLAYER_1  = A
  680.         PLAYER_2  = B
  681.         PLAYER_A  = ATTACKER
  682.         PLAYER_B  = ATTACKING_MIDFIELDER
  683.     END
  684.     BEGIN( AC_LONG_BALL )
  685.         ID        = 21    
  686.         PRIORITY  = 2
  687.         PATTERN_1 = "EVENT_PASS$B*[ ( Ball, Length, GE, 40.0 )]"
  688.         PLAYER_1  = B
  689.         PLAYER_B  = ATTACKING_MIDFIELDER
  690.     END 
  691.  
  692. //-----------------------------------------------------------------------------
  693. // Actions
  694. //-----------------------------------------------------------------------------
  695.  
  696.     // Shots
  697.     BEGIN( AC_SHOT )
  698.         ID        = 24
  699.         PRIORITY  = 1
  700.         PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, LE, 16.0 ) ]:>GDIST=Player1"
  701.         PLAYER_1  = A  
  702.         PLAYER_A  = ATTACKER
  703.     END
  704.     BEGIN( AC_SHOT_AGAINST_DEFENDER )
  705.         ID        = 25
  706.         PRIORITY  = 2
  707.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  708.         PLAYER_1  = A
  709.         PLAYER_2  = Z  
  710.         PLAYER_A  = ATTACKER
  711.         PLAYER_Z  = CENTRAL_DEFENDER
  712.     END
  713.     BEGIN( AC_LOW_SHOT )
  714.         ID        = 26
  715.         PRIORITY  = 4
  716.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  717.         PLAYER_1  = A
  718.         PLAYER_A  = ATTACKER
  719.     END
  720.     BEGIN( AC_LOW_SHOT_AGAINST_DEFENDER )
  721.         ID        = 27
  722.         PRIORITY  = 5
  723.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  724.         PLAYER_1  = A
  725.         PLAYER_2  = Z       
  726.         PLAYER_A  = ATTACKER
  727.         PLAYER_Z  = CENTRAL_DEFENDER 
  728.     END
  729.     BEGIN( AC_HIGH_SHOT )
  730.         ID        = 28
  731.         PRIORITY  = 4
  732.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  733.         PLAYER_1  = A
  734.         PLAYER_A  = ATTACKER
  735.     END    
  736.     BEGIN( AC_HIGH_SHOT_AGAINST_DEFENDER )
  737.         ID        = 29
  738.         PRIORITY  = 5
  739.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  740.         PLAYER_1  = A
  741.         PLAYER_2  = Z        
  742.         PLAYER_A  = ATTACKER
  743.         PLAYER_Z  = CENTRAL_DEFENDER 
  744.     END    
  745.     BEGIN( AC_BOUNCING_SHOT )
  746.         ID        = 30
  747.         PRIORITY  = 4
  748.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, BOUNCE ) ) ]:>GDIST=Player1"
  749.         PLAYER_1  = A
  750.         PLAYER_A  = DISTANCE
  751.     END
  752.     BEGIN( AC_DISTANCE_SHOT )
  753.         ID        = 31
  754.         PRIORITY  = 4
  755.         PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, GEQ, 16.0 ) ]:>GDIST=Player1"
  756.         PLAYER_1  = A
  757.         PLAYER_A  = DISTANCE
  758.     END
  759.     BEGIN( AC_LOW_DISTANCE_SHOT )
  760.         ID        = 32
  761.         PRIORITY  = 5        
  762.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  763.         PLAYER_1  = A
  764.         PLAYER_A  = DISTANCE
  765.     END
  766.     BEGIN( AC_HIGH_DISTANCE_SHOT )
  767.         ID        = 33
  768.         PRIORITY  = 5        
  769.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  770.         PLAYER_1  = A
  771.         PLAYER_A  = DISTANCE
  772.     END
  773.     BEGIN( AC_HUGE_DISTANCE_SHOT )
  774.         ID        = 34
  775.         PRIORITY  = 6       
  776.         PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, GEQ, 35.0 ) ]:>GDIST=Player1"
  777.         PLAYER_1  = A
  778.         PLAYER_A  = DISTANCE
  779.     END
  780.  
  781.     BEGIN( AC_SHOT_LEFT )
  782.         ID        = 81
  783.         PRIORITY  = 4
  784.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) ) ]:>GDIST=Player1"
  785.         PLAYER_1  = A  
  786.         PLAYER_A  = ATTACKER                
  787.     END
  788.  
  789.     BEGIN( AC_SHOT_LEFT_AGAINST_DEFENDER )
  790.         ID        = 82
  791.         PRIORITY  = 5
  792.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  793.         PLAYER_1  = A  
  794.         PLAYER_A  = ATTACKER
  795.         PLAYER_2  = Y              
  796.     END
  797.  
  798.     BEGIN( AC_SHOT_RIGHT)
  799.         ID        = 87
  800.         PRIORITY  = 4        
  801.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) ) ]:>GDIST=Player1"
  802.         PLAYER_1  = A  
  803.         PLAYER_A  = ATTACKER                
  804.     END
  805.  
  806.     BEGIN( AC_SHOT_RIGHT_AGAINST_DEFENDER )
  807.         ID        = 88
  808.         PRIORITY  = 5
  809.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  810.         PLAYER_1  = A  
  811.         PLAYER_A  = ATTACKER
  812.         PLAYER_2  = Y              
  813.     END
  814.     
  815.  
  816.     BEGIN( AC_LOW_SHOT_LEFT )
  817.         ID        = 83
  818.         PRIORITY  = 6
  819.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  820.         PLAYER_1  = A
  821.         PLAYER_A  = ATTACKER
  822.     END
  823.     BEGIN( AC_LOW_SHOT_LEFT_AGAINST_DEFENDER )
  824.         ID        = 84
  825.         PRIORITY  = 7
  826.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  827.         PLAYER_1  = A
  828.         PLAYER_2  = Z       
  829.         PLAYER_A  = ATTACKER
  830.         PLAYER_Z  = CENTRAL_DEFENDER 
  831.     END
  832.  
  833.     BEGIN( AC_LOW_SHOT_RIGHT )
  834.         ID        = 89
  835.         PRIORITY  = 6
  836.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  837.         PLAYER_1  = A
  838.         PLAYER_A  = ATTACKER
  839.     END
  840.     BEGIN( AC_LOW_SHOT_RIGHT_AGAINST_DEFENDER )
  841.         ID        = 90
  842.         PRIORITY  = 7
  843.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  844.         PLAYER_1  = A
  845.         PLAYER_2  = Z       
  846.         PLAYER_A  = ATTACKER
  847.         PLAYER_Z  = CENTRAL_DEFENDER 
  848.     END
  849.     
  850.     BEGIN( AC_HIGH_SHOT_LEFT )
  851.         ID        = 85
  852.         PRIORITY  = 6
  853.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  854.         PLAYER_1  = A
  855.         PLAYER_A  = ATTACKER
  856.     END    
  857.     BEGIN( AC_HIGH_SHOT_LEFT_AGAINST_DEFENDER )
  858.         ID        = 86
  859.         PRIORITY  = 7
  860.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  861.         PLAYER_1  = A
  862.         PLAYER_2  = Z        
  863.         PLAYER_A  = ATTACKER
  864.         PLAYER_Z  = CENTRAL_DEFENDER 
  865.     END    
  866.     
  867.     BEGIN( AC_HIGH_SHOT_RIGHT )
  868.         ID        = 91
  869.         PRIORITY  = 6
  870.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  871.         PLAYER_1  = A
  872.         PLAYER_A  = ATTACKER
  873.     END    
  874.     BEGIN( AC_HIGH_SHOT_RIGHT_AGAINST_DEFENDER )
  875.         ID        = 92
  876.         PRIORITY  = 7
  877.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  878.         PLAYER_1  = A
  879.         PLAYER_2  = Z        
  880.         PLAYER_A  = ATTACKER
  881.         PLAYER_Z  = CENTRAL_DEFENDER 
  882.     END        
  883.     
  884.     // Distance shots with direction
  885.     BEGIN( AC_DISTANCE_SHOT_LEFT )
  886.         ID        = 93
  887.         PRIORITY  = 8
  888.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) ) ]:>GDIST=Player1"
  889.         PLAYER_1  = A
  890.         PLAYER_A  = DISTANCE
  891.     END
  892.     BEGIN( AC_DISTANCE_SHOT_RIGHT )
  893.         ID        = 99
  894.         PRIORITY  = 8
  895.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) ) ]:>GDIST=Player1"
  896.         PLAYER_1  = A
  897.         PLAYER_A  = DISTANCE
  898.     END    
  899.     BEGIN( AC_LOW_DISTANCE_SHOT_LEFT )
  900.         ID        = 95
  901.         PRIORITY  = 9      
  902.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  903.         PLAYER_1  = A
  904.         PLAYER_A  = DISTANCE
  905.         
  906.     END
  907.     BEGIN( AC_LOW_DISTANCE_SHOT_RIGHT )
  908.         ID        = 101
  909.         PRIORITY  = 9       
  910.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1"
  911.         PLAYER_1  = A
  912.         PLAYER_A  = DISTANCE
  913.         
  914.     END
  915.     BEGIN( AC_HIGH_DISTANCE_SHOT_LEFT )
  916.         ID        = 97
  917.         PRIORITY  = 9        
  918.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  919.         PLAYER_1  = A
  920.         PLAYER_A  = DISTANCE
  921.     END
  922.     BEGIN( AC_HIGH_DISTANCE_SHOT_RIGHT )
  923.         ID        = 103
  924.         PRIORITY  = 9       
  925.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1"
  926.         PLAYER_1  = A
  927.         PLAYER_A  = DISTANCE
  928.     END
  929.     
  930.     // Distance shots with direction against defender
  931.     BEGIN( AC_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER )
  932.         ID        = 94
  933.         PRIORITY  = 9
  934.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  935.         PLAYER_1  = A
  936.         PLAYER_A  = DISTANCE
  937.         PLAYER_2  = Z       
  938.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER         
  939.     END
  940.     BEGIN( AC_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER )
  941.         ID        = 100
  942.         PRIORITY  = 9
  943.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  944.         PLAYER_1  = A
  945.         PLAYER_A  = DISTANCE
  946.         PLAYER_2  = Z       
  947.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER         
  948.     END    
  949.     BEGIN( AC_LOW_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER )
  950.         ID        = 96
  951.         PRIORITY  = 10        
  952.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  953.         PLAYER_1  = A
  954.         PLAYER_A  = DISTANCE
  955.         PLAYER_2  = Z       
  956.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER                 
  957.     END
  958.     BEGIN( AC_LOW_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER )
  959.         ID        = 102
  960.         PRIORITY  = 10       
  961.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  962.         PLAYER_1  = A
  963.         PLAYER_A  = DISTANCE
  964.         PLAYER_2  = Z       
  965.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER                 
  966.     END
  967.     BEGIN( AC_HIGH_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER )
  968.         ID        = 98
  969.         PRIORITY  = 10       
  970.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  971.         PLAYER_1  = A
  972.         PLAYER_A  = DISTANCE
  973.         PLAYER_2  = Z       
  974.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER                 
  975.     END
  976.     BEGIN( AC_HIGH_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER )
  977.         ID        = 104
  978.         PRIORITY  = 10        
  979.         PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1"
  980.         PLAYER_1  = A
  981.         PLAYER_A  = DISTANCE
  982.         PLAYER_2  = Z       
  983.         PLAYER_Z  = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER                 
  984.     END
  985.  
  986.     // Headers
  987.     BEGIN( AC_HEADER )
  988.         ID        = 35
  989.         PRIORITY  = 2
  990.         PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*:>GDIST=Player1"
  991.         PLAYER_1  = A
  992.         PLAYER_A  = HEADER
  993.     END    
  994.     BEGIN( AC_LOW_HEADER )
  995.         ID        = 36
  996.         PRIORITY  = 4
  997.         PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*[ ( Ball, Height,  LE, 0.80 ) ]:>GDIST=Player1" 
  998.         PLAYER_1  = A
  999.         PLAYER_A  = HEADER
  1000.     END    
  1001.     BEGIN( AC_HIGH_HEADER )
  1002.         ID        = 37
  1003.         PRIORITY  = 4
  1004.         PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*[ ( Ball, Height, GEQ, 1.60 ) ]:>GDIST=Player1" 
  1005.         PLAYER_1  = A
  1006.         PLAYER_A  = HEADER
  1007.     END
  1008.     BEGIN( AC_HEADER_AGAINST_DEFENDER )
  1009.         ID        = 38
  1010.         PRIORITY  = 5
  1011.         PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*:>GDIST=Player1;EVENT_HEADER_WON$Az{e4}[ ( Player2, PositionSimple, IS, DEF ) ]"
  1012.         PLAYER_1  = A
  1013.         PLAYER_2  = Z        
  1014.         PLAYER_A  = HEADER
  1015.         PLAYER_Z  = HEADER_DEFENDING
  1016.     END
  1017.     
  1018.     // Corners
  1019.     BEGIN( AC_DIRECT_CORNER_LEFT )
  1020.         ID        = 39
  1021.         PRIORITY  = 1
  1022.         PATTERN_1 = "EVENT_CORNER_TAKEN$A*[ ( Player1, Flags, SET, AT_LEFT_CORNER ) ]"
  1023.         PLAYER_1  = A
  1024.         PLAYER_A  = CORNER_LEFT
  1025.     END
  1026.     BEGIN( AC_DIRECT_CORNER_RIGHT )
  1027.         ID        = 40
  1028.         PRIORITY  = 1
  1029.         PATTERN_1 = "EVENT_CORNER_TAKEN$A*[ ( Player1, Flags, SET, AT_RIGHT_CORNER ) ]"
  1030.         PLAYER_1  = A
  1031.         PLAYER_A  = CORNER_RIGHT
  1032.     END
  1033.     
  1034.     // Free kicks
  1035.     BEGIN( AC_DIRECT_FREE_KICK )
  1036.         ID        = 41
  1037.         PRIORITY  = 1
  1038.         PATTERN_1 = "EVENT_FREEKICK_SHOT$A*"
  1039.         PLAYER_1  = A
  1040.         PLAYER_A  = DIRECT_FREE_KICK
  1041.     END
  1042.     
  1043.     BEGIN( AC_INDIRECT_FREE_KICK_ALL_SIDES )
  1044.         ID = 7
  1045.         PRIORITY  = 2
  1046.         PATTERN_1 = "EVENT_FREEKICK_PASS$A*"
  1047.         PLAYER_1  = A
  1048.         PLAYER_A  = FREE_KICK_LEFT, FREE_KICK_RIGHT
  1049.     END
  1050.     
  1051.     BEGIN( AC_INDIRECT_FREE_KICK_SIDE )
  1052.         ID = 8
  1053.         PRIORITY  = 3
  1054.         PATTERN_1 = "EVENT_FREEKICK_PASS$A*[ ( ( Player1, Flags, SET, ON_LEFT_SIDE ) | ( Player1, Flags, SET, ON_RIGHT_SIDE ) ) ]"
  1055.         PLAYER_1  = A
  1056.         PLAYER_A  = FREE_KICK_LEFT, FREE_KICK_RIGHT
  1057.     END
  1058.     
  1059.     BEGIN( AC_INDIRECT_FREE_KICK_CENTRE )
  1060.         ID = 9
  1061.         PRIORITY = 3
  1062.         PATTERN_1 = "EVENT_FREEKICK_PASS$A*[ ( Player1, Flags, SET, ON_CENTER ) ]"
  1063.         PLAYER_1  = A
  1064.         PLAYER_A  = FREE_KICK_LEFT, FREE_KICK_RIGHT        
  1065.     END
  1066.        
  1067.     // Penalty kicks
  1068.     BEGIN( AC_PENALTY )
  1069.         ID        = 42
  1070.         PRIORITY  = 1
  1071.         PATTERN_1 = "EVENT_PENALTYKICK$A*"
  1072.         PLAYER_1  = A
  1073.         PLAYER_A  = PENALTY_TAKER
  1074.     END
  1075.  
  1076.     // Own goals
  1077.     BEGIN( AC_OWN_GOAL_GOALKEEPER )
  1078.         ID        = 45
  1079.         PRIORITY  = 2
  1080.         PATTERN_1 = "EVENT_GOAL_SCORED<FLAG_GOAL_OWN_GOAL>$A*[ ( Player1, Position, IS, GK ) ]"
  1081.         PLAYER_1  = A
  1082.         PLAYER_A  = GOALKEEPER
  1083.     END
  1084.     BEGIN( AC_OWN_GOAL_OUTFIELD_PLAYER )
  1085.         ID        = 46
  1086.         PRIORITY  = 2
  1087.         PATTERN_1 = "EVENT_GOAL_SCORED<FLAG_GOAL_OWN_GOAL>$A*[ !( Player1, Position, IS, GK ) ]"
  1088.         PLAYER_1  = A
  1089.         PLAYER_A  = CENTRAL_DEFENDER
  1090.     END
  1091.     
  1092.     // 1:1 against goal keeper
  1093.     BEGIN( AC_ONE_ON_ONE_AGAINST_GK )
  1094.         ID        = 48
  1095.         PRIORITY  = 16
  1096.         PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]:>GDIST=Player1"
  1097.         PLAYER_1  = A
  1098.         PLAYER_A  = ATTACKER
  1099.     END
  1100.     BEGIN( AC_ONE_ON_ONE_AGAINST_GK_DRIBBLE )
  1101.         ID        = 79
  1102.         PRIORITY  = 16
  1103.         PATTERN_1 = "EVENT_DRIBBLE$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]"
  1104.         PLAYER_1  = A
  1105.         PLAYER_A  = ATTACKER
  1106.     END
  1107.     BEGIN( AC_ONE_ON_ONE_AGAINST_GK_DRIBBLE_AND_SHOT )
  1108.         ID        = 80
  1109.         PRIORITY  = 18
  1110.         PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]:>GDIST=Player1;EVENT_DRIBBLE$A*"
  1111.         PLAYER_1  = A
  1112.         PLAYER_A  = ATTACKER
  1113.     END
  1114.         
  1115.     // Misc
  1116.     BEGIN( AC_FOUL )
  1117.         ID        = 49
  1118.         PRIORITY  = 1
  1119.         PATTERN_1 = "EVENT_FOUL$AB"
  1120.         PLAYER_1  = X
  1121.         PLAYER_2  = B
  1122.         PLAYER_A  = WITH_FOUL, ATTACKER
  1123.         PLAYER_B  = FOULED
  1124.     END
  1125.     BEGIN( AC_SUBSTITUTION )
  1126.         ID        = 50
  1127.         PRIORITY  = 100
  1128.         PATTERN_1 = "EVENT_SUBSTITUTION$AB"
  1129.         PLAYER_1  = A
  1130.         PLAYER_2  = B
  1131.         PLAYER_A  = SUBBED_OUT
  1132.         PLAYER_B  = SUBBED_IN
  1133.     END    
  1134.     BEGIN( AC_OFFSIDE )
  1135.         ID        = 51
  1136.         PRIORITY  = 100
  1137.         PATTERN_1 = "EVENT_OFFSIDE$A*"
  1138.         PLAYER_1  = A
  1139.         PLAYER_A  = ATTACKER
  1140.     END
  1141.         
  1142. //-----------------------------------------------------------------------------
  1143. // Results 
  1144. //-----------------------------------------------------------------------------        
  1145.  
  1146.     // Goals
  1147.     BEGIN( AC_GOAL )
  1148.         ID        = 53
  1149.         PRIORITY  = 1
  1150.         PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1151.         PLAYER_1 = A
  1152.         PLAYER_2 = X
  1153.         PLAYER_A = ATTACKER
  1154.         PLAYER_X = GOALKEEPER
  1155.     END
  1156.     BEGIN( AC_GOAL_GK_MISTAKE )
  1157.         ID        = 54
  1158.         PRIORITY  = 2
  1159.         PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE<FLAG_SHOT_MISSED>{e4}"
  1160.         PLAYER_1 = A
  1161.         PLAYER_2 = X
  1162.         PLAYER_A = ATTACKER
  1163.         PLAYER_X = GOALKEEPER
  1164.     END
  1165.     BEGIN( AC_GOAL_RIGHT )
  1166.         ID              = 131
  1167.         PRIORITY        = 3
  1168.         PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1169.         CONDITION_MODIFIERS = "EVENT_SHOT:( Ball, Flags, SET, RIGHT_SIDE )"        
  1170.         PLAYER_1 = A
  1171.         PLAYER_2 = X
  1172.         PLAYER_A = ATTACKER
  1173.         PLAYER_X = GOALKEEPER
  1174.     END
  1175.     BEGIN( AC_GOAL_LEFT )
  1176.         ID              = 132
  1177.         PRIORITY        = 3
  1178.         PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1179.         CONDITION_MODIFIERS = "EVENT_SHOT:( Ball, Flags, SET, LEFT_SIDE )"        
  1180.         PLAYER_1 = A
  1181.         PLAYER_2 = X
  1182.         PLAYER_A = ATTACKER
  1183.         PLAYER_X = GOALKEEPER
  1184.     END
  1185.     BEGIN( AC_GOAL_RIGHT_LOW )
  1186.         ID              = 133
  1187.         PRIORITY        = 4
  1188.         PATTERN_1       = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1189.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.50 ) )"                
  1190.         PLAYER_1        = A
  1191.         PLAYER_2        = X
  1192.         PLAYER_A        = ATTACKER
  1193.         PLAYER_X        = GOALKEEPER
  1194.     END
  1195.     BEGIN( AC_GOAL_LEFT_LOW )
  1196.         ID              = 134
  1197.         PRIORITY        = 4
  1198.         PATTERN_1       = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1199.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.50 ) )"                
  1200.         PLAYER_1        = A
  1201.         PLAYER_2        = X
  1202.         PLAYER_A        = ATTACKER
  1203.         PLAYER_X        = GOALKEEPER
  1204.     END
  1205.     BEGIN( AC_GOAL_RIGHT_HIGH )
  1206.         ID              = 135
  1207.         PRIORITY        = 4
  1208.         PATTERN_1       = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1209.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.50 ) )"                
  1210.         PLAYER_1        = A
  1211.         PLAYER_2        = X
  1212.         PLAYER_A        = ATTACKER
  1213.         PLAYER_X        = GOALKEEPER
  1214.     END
  1215.     BEGIN( AC_GOAL_LEFT_HIGH )
  1216.         ID              = 136
  1217.         PRIORITY        = 4
  1218.         PATTERN_1       = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX"
  1219.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.50 ) )"                
  1220.         PLAYER_1        = A
  1221.         PLAYER_2        = X
  1222.         PLAYER_A        = ATTACKER
  1223.         PLAYER_X        = GOALKEEPER
  1224.     END
  1225.  
  1226.     // Hits
  1227.     BEGIN( AC_POST )
  1228.         ID              = 55
  1229.         PRIORITY        = 2
  1230.         PATTERN_1       = ""
  1231.         FLAG_MODIFIERS  = "EVENT_SHOT:+FLAG_HIT_POST_OR_CROSSBAR-"
  1232.     END
  1233.     BEGIN( AC_BAR )
  1234.         ID              = 56
  1235.         PRIORITY        = 2
  1236.         PATTERN_1       = ""
  1237.         FLAG_MODIFIERS  = "EVENT_SHOT:+FLAG_HIT_POST_OR_CROSSBAR-"
  1238.     END
  1239.            
  1240.     // Saves
  1241.     BEGIN( AC_GK_SAVE_CATCHES_CROSS )
  1242.         ID        = 57
  1243.         PRIORITY  = 4
  1244.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1245.         PLAYER_1  = X
  1246.         PLAYER_X  = GOALKEEPER
  1247.     END
  1248.     BEGIN( AC_GK_SAVE_VERY_GOOD )
  1249.         ID        = 58
  1250.         PRIORITY  = 3        
  1251.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1252.         PLAYER_1  = X
  1253.         PLAYER_X  = GOALKEEPER
  1254.     END
  1255.     BEGIN( AC_GK_SAVE_GOOD )
  1256.         ID        = 59
  1257.         PRIORITY  = 2        
  1258.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1259.         PLAYER_1  = X
  1260.         PLAYER_X  = GOALKEEPER
  1261.     END
  1262.     BEGIN( AC_GK_SAVE_CATCHES_EASY_SHOT )
  1263.         ID        = 60
  1264.         PRIORITY  = 1        
  1265.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1266.         PLAYER_1  = X
  1267.         PLAYER_X  = GOALKEEPER
  1268.     END
  1269.     BEGIN( AC_GK_SAVE_CLEARS_FOR_A_CORNER )
  1270.         ID        = 61
  1271.         PRIORITY  = 2        
  1272.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1273.         PLAYER_1  = X
  1274.         PLAYER_X  = GOALKEEPER
  1275.     END
  1276.     BEGIN( AC_GK_SAVE )
  1277.         ID        = 62
  1278.         PRIORITY  = 1    
  1279.         PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*"
  1280.         PLAYER_1  = X
  1281.         PLAYER_X  = GOALKEEPER
  1282.     END
  1283.     
  1284.     // Misses
  1285.     BEGIN( AC_CLOSE )
  1286.         ID                  = 63
  1287.         PRIORITY            = 2       
  1288.         PATTERN_1           = ""
  1289.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) )"
  1290.         PLAYER_2            = X
  1291.         PLAYER_X            = GOALKEEPER    
  1292.     END    
  1293.     BEGIN( AC_CLOSE_RIGHT )
  1294.         ID                  = 117
  1295.         PRIORITY            = 3        
  1296.         PATTERN_1           = ""
  1297.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE  ) )"
  1298.         PLAYER_2            = X
  1299.         PLAYER_X            = GOALKEEPER    
  1300.     END    
  1301.     BEGIN( AC_CLOSE_LEFT )
  1302.         ID                  = 118
  1303.         PRIORITY            = 3
  1304.         PATTERN_1           = ""
  1305.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE  ) )"
  1306.         PLAYER_2            = X
  1307.         PLAYER_X            = GOALKEEPER    
  1308.     END        
  1309.     BEGIN( AC_CLOSE_RIGHT_LOW )
  1310.         ID                  = 119
  1311.         PRIORITY            = 4
  1312.         PATTERN_1           = ""
  1313.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE  ) & ( Ball, Height, LE, 0.5 ) )"
  1314.         PLAYER_2            = X
  1315.         PLAYER_X            = GOALKEEPER    
  1316.     END
  1317.     BEGIN( AC_CLOSE_LEFT_LOW )
  1318.         ID                  = 120
  1319.         PRIORITY            = 4
  1320.         PATTERN_1           = ""
  1321.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE  ) & ( Ball, Height, LE, 0.5 ) )"
  1322.         PLAYER_2            = X
  1323.         PLAYER_X            = GOALKEEPER    
  1324.     END
  1325.     BEGIN( AC_CLOSE_RIGHT_HIGH )
  1326.         ID                  = 121
  1327.         PRIORITY            = 4
  1328.         PATTERN_1           = ""
  1329.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE  ) & ( Ball, Height, GE, 1.5 ) )"
  1330.         PLAYER_2            = X
  1331.         PLAYER_X            = GOALKEEPER    
  1332.     END
  1333.     BEGIN( AC_CLOSE_LEFT_HIGH )
  1334.         ID                  = 122
  1335.         PRIORITY            = 4
  1336.         PATTERN_1           = ""
  1337.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE  ) & ( Ball, Height, GE, 1.5 ) )"
  1338.         PLAYER_2            = X
  1339.         PLAYER_X            = GOALKEEPER    
  1340.     END
  1341.         
  1342.     BEGIN( AC_SIDE_OF_NET )
  1343.         ID                  = 64
  1344.         PRIORITY            = 2        
  1345.         PATTERN_1           = ""
  1346.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET  ) & ( Ball, Flags, SET, HIT_NET ) )"
  1347.         PLAYER_2            = X
  1348.         PLAYER_X            = GOALKEEPER    
  1349.     END
  1350.     BEGIN( AC_WIDE )
  1351.         ID                  = 65
  1352.         PRIORITY            = 2        
  1353.         PATTERN_1           = ""
  1354.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) )"
  1355.         PLAYER_2            = X
  1356.         PLAYER_X            = GOALKEEPER    
  1357.     END
  1358.     BEGIN( AC_VERY_WIDE )
  1359.         ID                  = 66
  1360.         PRIORITY            = 3        
  1361.         PATTERN_1           = ""
  1362.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) )"
  1363.         PLAYER_2            = X
  1364.         PLAYER_X            = GOALKEEPER    
  1365.     END
  1366.     BEGIN( AC_CLOSE_OVER_THE_BAR )
  1367.         ID                  = 67
  1368.         PRIORITY            = 4        
  1369.         PATTERN_1           = ""
  1370.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, LE, 0.5 ) )"    
  1371.         PLAYER_2            = X
  1372.         PLAYER_X            = GOALKEEPER        
  1373.     END
  1374.     BEGIN( AC_OVER_THE_BAR )
  1375.         ID                  = 68
  1376.         PRIORITY            = 3        
  1377.         PATTERN_1           = ""
  1378.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 2.0 ) )"
  1379.         PLAYER_2            = X
  1380.         PLAYER_X            = GOALKEEPER    
  1381.     END
  1382.     BEGIN( AC_FAR_OVER_THE_BAR )
  1383.         ID                  = 69
  1384.         PRIORITY            = 4        
  1385.         PATTERN_1           = ""
  1386.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, GEQ, 2.0 ) )"
  1387.         PLAYER_2            = X
  1388.         PLAYER_X            = GOALKEEPER    
  1389.     END
  1390.  
  1391.    
  1392.     BEGIN( AC_WIDE_RIGHT )
  1393.         ID                  = 105
  1394.         PRIORITY            = 2
  1395.         PATTERN_1           = ""
  1396.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) )"
  1397.         PLAYER_2            = X
  1398.         PLAYER_X            = GOALKEEPER    
  1399.     END    
  1400.     BEGIN( AC_WIDE_LEFT )
  1401.         ID                  = 106
  1402.         PRIORITY            = 2
  1403.         PATTERN_1           = ""
  1404.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) )"
  1405.         PLAYER_2            = X
  1406.         PLAYER_X            = GOALKEEPER    
  1407.     END
  1408.  
  1409.     BEGIN( AC_VERY_WIDE_RIGHT )
  1410.         ID                  = 111
  1411.         PRIORITY            = 3
  1412.         PATTERN_1           = ""
  1413.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) )"
  1414.         PLAYER_2            = X
  1415.         PLAYER_X            = GOALKEEPER    
  1416.     END
  1417.     BEGIN( AC_VERY_WIDE_LEFT )
  1418.         ID                  = 112
  1419.         PRIORITY            = 3
  1420.         PATTERN_1           = ""
  1421.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) )"
  1422.         PLAYER_2            = X
  1423.         PLAYER_X            = GOALKEEPER    
  1424.     END
  1425.    
  1426.     
  1427.     BEGIN( AC_WIDE_RIGHT_LOW )
  1428.         ID                  = 107
  1429.         PRIORITY            = 4
  1430.         PATTERN_1           = ""
  1431.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.8 ) )"
  1432.         PLAYER_2            = X
  1433.         PLAYER_X            = GOALKEEPER    
  1434.     END    
  1435.     BEGIN( AC_WIDE_LEFT_LOW )
  1436.         ID                  = 108
  1437.         PRIORITY            = 4
  1438.         PATTERN_1           = ""
  1439.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.8 ) )"
  1440.         PLAYER_2            = X
  1441.         PLAYER_X            = GOALKEEPER    
  1442.     END
  1443.     BEGIN( AC_WIDE_RIGHT_HIGH )
  1444.         ID                  = 109
  1445.         PRIORITY            = 4
  1446.         PATTERN_1           = ""
  1447.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.5 ) )"
  1448.         PLAYER_2            = X
  1449.         PLAYER_X            = GOALKEEPER    
  1450.     END    
  1451.     BEGIN( AC_WIDE_LEFT_HIGH )
  1452.         ID                  = 110
  1453.         PRIORITY            = 4
  1454.         PATTERN_1           = ""
  1455.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.5 ) )"
  1456.         PLAYER_2            = X
  1457.         PLAYER_X            = GOALKEEPER    
  1458.     END
  1459.  
  1460.     BEGIN( AC_VERY_WIDE_RIGHT_LOW )
  1461.         ID                  = 113
  1462.         PRIORITY            = 6
  1463.         PATTERN_1           = ""
  1464.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.8 ) )"
  1465.         PLAYER_2            = X
  1466.         PLAYER_X            = GOALKEEPER    
  1467.     END
  1468.     BEGIN( AC_VERY_WIDE_LEFT_LOW )
  1469.         ID                  = 114
  1470.         PRIORITY            = 6
  1471.         PATTERN_1           = ""
  1472.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.8 ) )"
  1473.         PLAYER_2            = X
  1474.         PLAYER_X            = GOALKEEPER    
  1475.     END
  1476.     BEGIN( AC_VERY_WIDE_RIGHT_HIGH )
  1477.         ID                  = 115
  1478.         PRIORITY            = 6
  1479.         PATTERN_1           = ""
  1480.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.5 ) )"
  1481.         PLAYER_2            = X
  1482.         PLAYER_X            = GOALKEEPER    
  1483.     END
  1484.     BEGIN( AC_VERY_WIDE_LEFT_HIGH )
  1485.         ID                  = 116
  1486.         PRIORITY            = 6
  1487.         PATTERN_1           = ""
  1488.         CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 1.5 ) )"
  1489.         PLAYER_2            = X
  1490.         PLAYER_X            = GOALKEEPER    
  1491.     END    
  1492.     
  1493.     // Blocks
  1494.     BEGIN( AC_BLOCKED )
  1495.         ID                  = 72
  1496.         PRIORITY            = 2
  1497.         PATTERN_1           = ""
  1498.         FLAG_MODIFIERS      = "EVENT_SHOT:+FLAG_BLOCKED-;EVENT_PASS:+FLAG_BLOCKED-"                
  1499.     END
  1500.     BEGIN( AC_BLOCKED_FOR_CORNER )
  1501.         ID                  = 123
  1502.         PRIORITY            = 4
  1503.         PATTERN_1           = "EVENT_BALLOUT_CORNER"
  1504.         FLAG_MODIFIERS      = "EVENT_SHOT:+FLAG_BLOCKED-;EVENT_PASS:+FLAG_BLOCKED-"
  1505.     END
  1506.     
  1507.     // Clearance
  1508.     BEGIN( AC_DEFENDER_CLEARS_WITH_SHOT )
  1509.         ID                  = 73
  1510.         PRIORITY            = 1        
  1511.         PATTERN_1           = "EVENT_CLEARANCE$A*"
  1512.         PLAYER_1            = A 
  1513.         PLAYER_A            = CENTRAL_DEFENDER
  1514.     END    
  1515.     BEGIN( AC_DEFENDER_CLEARS_WITH_HEADER )
  1516.         ID                  = 74
  1517.         PRIORITY            = 2
  1518.         PATTERN_1           = "EVENT_CLEARANCE<FLAG_HEADED>$A*"
  1519.         PLAYER_1            = A
  1520.         PLAYER_A            = CENTRAL_DEFENDER 
  1521.     END
  1522.     BEGIN( AC_CLEARS_FOR_CORNER_INSIDE_PENBOX )
  1523.         ID                  = 129
  1524.         PRIORITY            = 3
  1525.         PATTERN_1           = "EVENT_BALLOUT_CORNER$A*;EVENT_CLEARANCE$A*[ ( Player1, Flags, SET, IN_PENALTY_BOX ) ]"
  1526.         PLAYER_1            = A
  1527.         PLAYER_A            = CENTRAL_DEFENDER 
  1528.     END    
  1529.     BEGIN( AC_CLEARS_FOR_CORNER_OUTSIDE_PENBOX )
  1530.         ID                  = 130
  1531.         PRIORITY            = 3
  1532.         PATTERN_1           = "EVENT_BALLOUT_CORNER$A*;EVENT_CLEARANCE$A*[ ( Player1, Flags, NOT_SET, IN_PENALTY_BOX ) ]"
  1533.         PLAYER_1            = A
  1534.         PLAYER_A            = CENTRAL_DEFENDER 
  1535.     END        
  1536.                  
  1537.     // Cards
  1538.     BEGIN( AC_NO_CARD )
  1539.         ID          = 75
  1540.         PRIORITY    = 0        
  1541.         PATTERN_1   = ""      
  1542.     END
  1543.     BEGIN( AC_YELLOW_CARD )
  1544.         ID              = 76
  1545.         PRIORITY        = 1
  1546.         PATTERN_1       = ""
  1547.         FLAG_MODIFIERS  = "EVENT_FOUL:+FLAG_YELLOW_CARD-"
  1548.     END
  1549.     BEGIN( AC_SECOND_YELLOW_CARD )
  1550.         ID              = 77
  1551.         PRIORITY        = 2
  1552.         PATTERN_1       = ""
  1553.         FLAG_MODIFIERS  = "EVENT_FOUL:+FLAG_SECOND_YELLOW-"
  1554.     END
  1555.     BEGIN( AC_RED_CARD )
  1556.         ID              = 78
  1557.         PRIORITY        = 3
  1558.         PATTERN_1       = ""
  1559.         FLAG_MODIFIERS  = "EVENT_FOUL:+FLAG_RED_CARD-"
  1560.     END
  1561.  
  1562.     // UNDEFINED...
  1563.     //126 , Kick-off GK Bottom                      , 0, 1, 0
  1564.     //127 , Kick-off GK Hand                        , 0, 1, 0
  1565.     //128 , Throw-out GK                            , 0, 1, 0    
  1566.    
  1567.     // TODO: Define this...
  1568.     BEGIN( AC_KICK_OFF_GK_BOTTOM )
  1569.         ID              = 126
  1570.         PRIORITY        = 0
  1571.         PATTERN_1       = ""
  1572.         FLAG_MODIFIERS  = ""
  1573.     END
  1574.     
  1575.     // TODO: Define this...
  1576.     BEGIN( AC_KICK_OFF_GK )
  1577.         ID              = 127
  1578.         PRIORITY        = 0
  1579.         PATTERN_1       = ""
  1580.         FLAG_MODIFIERS  = ""
  1581.     END
  1582.     
  1583.     // TODO: Define this...
  1584.     BEGIN( AC_THROW_OUT_GK )
  1585.         ID              = 128
  1586.         PRIORITY        = 0
  1587.         PATTERN_1       = ""
  1588.         FLAG_MODIFIERS  = ""
  1589.     END
  1590.     
  1591. END
  1592.  
  1593. //-----------------------------------------------------------------------------
  1594.  
  1595. BEGIN( __SCENES )
  1596.  
  1597. //-----------------------------------------------------------------------------
  1598. // Standard match events 
  1599. //-----------------------------------------------------------------------------
  1600.  
  1601.     // Start 1st half
  1602.     BEGIN(TB_#392)
  1603.         PATTERN_1 = "EVENT_START_HALF<%1ST%>"
  1604.     END
  1605.     // End 1st half
  1606.     BEGIN(TB_#393)
  1607.         PATTERN_1 = "EVENT_END_HALF<%1ST%>"
  1608.     END
  1609.     // Start 2nd half
  1610.     BEGIN(TB_#394)
  1611.         PATTERN_1 = "EVENT_START_HALF<%2ND%>"
  1612.     END
  1613.     // End of match
  1614.     BEGIN(TB_#395)
  1615.         PATTERN_1 = "EVENT_END_MATCH"
  1616.     END
  1617.     // Penalty shoot out
  1618.     BEGIN(TB_#404)
  1619.         PATTERN_1 = "EVENT_START_HALF<%PSH%>"
  1620.     END    
  1621.  
  1622. END
  1623.